Основы линейной алгебры
Обратная матрица
Вырожденные и невырожденные матрицы
Квадратная матрица называется невырожденной, если ее определитель не равен нулю: .
Если , то матрица называется вырожденной.
Например, матрица – вырожденная, т.к. ее определитель равен нулю: .
А матрица – невырожденная, т.к. ее определитель не равен нулю: .
✏️Задание 1
Проверьте в Engee, какие из следующих матриц являются вырожденными, а какие – невырожденными:
Решение
using LinearAlgebra;
A = [-7 4 2; -4 1 3; 12 -3 -9];
println("det(A)=", det(A));
B = [7 2 -5; 3 1 4; 6 -2 1];
println("det(B)=", det(B));
C = [0 1 1; 0 1 0; 1 0 0];
println("det(C)=", det(C));
Следовательно, матрица – вырожденная, матрицы и – невырожденные.
Присоединенная матрица
Матрицей, присоединенной (или союзной) к матрице , называется матрица, составленная из алгебраических дополнений к элементам матрицы :
Например, найдем присоединенную матрицу для матрицы .
Запишем алгебраические дополнения к элементам этой матрицы: , , , . Тогда присоединенная матрица имеет вид: .
Понятие обратной матрицы
Матрица называется обратной к матрице , если $$A\cdot A{-1}=A\cdot A=E,$$
где – единичная матрица того же порядка, что и матрица .
Всякая невырожденная матрица имеет обратную.
Для матрицы небольшого размера обратную матрицу можно вычислить по формуле: $$A^{-1}=\frac{1}{\det A}\cdot (A*)T.$$
Например, если , то , , , .
Если число строк и столбцов матрицы велико, то для вычисления обратной матрицы обычно применяются численные методы (метод Гаусса – Жордана, итерационные алгоритмы).
В Engee обратная матрица вычисляется с помощью функции inv.
Например, матрица, обратная к матрице , вычисляется так:
A = [2 1; 4 3];
B = inv(A);
print("inv(A) =");
display(B);
Сделаем проверку. Убедимся в том, что произведение мтариц и дает единичную матрицу:
print("A * inv(A) =");
display(A * B);
✏️Задание 2
Найдите в Engee матрицу, обратную к матрице . Сделайте проверку, убедившись в том, что произведение матрицы на обратную к ней дает единичную матрицу.
Решение
A = [5 -1 -1; 2 3 2; 3 1 1];
B = inv(A);
println("inv(A) =");
display(B);
println("A * inv(A) =");
display(A * B);
Свойства обратной матрицы
✏️Задание 3
Проверьте в Engee справедливость свойства 4 для матрицы и свойства 5 для матриц и :
и .
Решение
A = [7 2 3; 5 -3 2; 10 -11 5];
B = [2 -4 9; 7 3 -6; 7 9 -9];
# Проверка свойства 4
C = inv(transpose(A));
print("C =");
display(C);
D = transpose(inv(A));
print("D =");
display(D);
# Проверка свойства 5
F = inv(A * B);
print("F =");
display(F);
G = inv(B) * inv(A);
print("G =");
display(G);